﻿using System;
using System.Data;
using System.Text;
using System.Web.UI;
using VanTaiBLL;
using VanTaiProperty;

namespace VanTaiTMS.Page
{
    public partial class Uc_Tinh : System.Web.UI.UserControl
    {
        private DataTable _dtTinh;
        private readonly clsTMProvinceBusiness _clsTinh = new clsTMProvinceBusiness();
        protected void Page_Load(object sender, EventArgs e)
        {
            BindGridDropMien();
        }
        protected void imgrefesh_Click(object sender, ImageClickEventArgs e)
        {
            BindGridDropMien();
        }
        protected void imgSave_Click(object sender, ImageClickEventArgs e)
        {
            if (txtTenTinh.Text == "")
            {
                lbThongBaoLoi.Text = "Vui lòng điền vào tên Tỉnh !";
                OpenDialog("#ucthongbaoTinh");
                updatePanelThongBao.Update();
            }
            if (txtMaTinh.Text == "")
            {
                lbThongBaoLoi.Text = "Vui lòng điền vào mã Tỉnh !";
                OpenDialog("#ucthongbaoTinh");
                updatePanelThongBao.Update();
            }
            if (drMien.SelectedValue == "-1")
            {
                lbThongBaoLoi.Text = "Vui lòng điền vào mã Tỉnh !";
                OpenDialog("#ucthongbaoTinh");
                updatePanelThongBao.Update();
            }
            if (txtMaTinh.Text != "" && txtTenTinh.Text != "" && drMien.SelectedValue != "-1")
            {
                InsertTinh();
            }
        }
        protected void cmdCloseThongBao_Click(object sender, EventArgs e)
        {
            CloseDialog("#ucthongbaoTinh");
        }
        protected void LinkThemNhanhMien_Click(object sender, EventArgs e)
        {
            OpenDialog("#ThemNhanhMien");
        }
        protected void BindGridDropMien()
        {
            var clsMien = new clsTMRegionBusiness();
            DataTable dtMien = clsMien.BindGirdTMRegion("");
            if (dtMien != null && dtMien.Rows.Count > 0)
            {
                drMien.DataSource = dtMien;
                drMien.DataValueField = "STT";
                drMien.DataTextField = "TenMien";
                drMien.DataBind();
            }
        }

        //Insert
        protected bool CheckInsert()
        {
            bool kiemtra = false;
            _dtTinh = _clsTinh.BindGirdTMProvince("");
            if (_dtTinh != null && _dtTinh.Rows.Count > 0)
            {
                foreach (DataRow dr in _dtTinh.Rows)
                {
                    if (txtMaTinh.Text == dr["MATinh"].ToString())
                    {
                        kiemtra = true;
                    }
                }
            }
            return kiemtra;
        }
        protected bool CheckInsertnName()
        {
            bool kiemtra = false;
            _dtTinh = _clsTinh.BindGirdTMProvince("");
            if (_dtTinh != null && _dtTinh.Rows.Count > 0)
            {
                foreach (DataRow dr in _dtTinh.Rows)
                {
                    if (txtTenTinh.Text == dr["TENTinh"].ToString())
                    {
                        kiemtra = true;
                    }
                }
            }
            return kiemtra;
        }
        protected void InsertTinh()
        {
            try
            {
                if (CheckInsert())
                {
                    lbThongBaoLoi.Text = "Mã quốc gia này đã tồn tại !";
                    OpenDialog("#ucthongbaoTinh");
                    updatePanelThongBao.Update();
                }
                else
                {
                    if (CheckInsertnName())
                    {
                        lbThongBaoLoi.Text = "Tên quốc gia này đã tồn tại !";
                        OpenDialog("#ucthongbaoTinh");
                        updatePanelThongBao.Update();
                    }
                    else
                    {
                        var obj = new clsTMProvinceProperty
                        {
                            Province_Alias = txtMaTinh.Text,
                            Province_Name = txtTenTinh.Text,
                            Province_NameC = txtTenTinhC.Text,
                            Province_NameE = txtTenTinhE.Text,
                            Region_ID = int.Parse(drMien.SelectedValue),
                            Province_Note = txtGhiChu.Text
                        };
                        clsTMProvinceBusiness.InsertTMProvince(obj);
                        lbThongBaoLoi.Text = "Thêm mới thành công mẫu tin !";
                        OpenDialog("#ucthongbaoTinh");
                        updatePanelThongBao.Update();
                        ClearTextbox();
                        txtMaTinh.Text = "MM000" + MaTuDong();
                    }
                }
            }
            catch (Exception ex)
            {
                lbThongBaoLoi.Text = ex.ToString();
                updatePanelThongBao.Update();
            }
        }

        #region[MaTangTuDong]

        protected int MaTuDong()
        {
            int i = 0;
            _dtTinh = _clsTinh.BindGirdTMProvince("");
            if (_dtTinh != null && _dtTinh.Rows.Count > 0)
            {
                int max = Convert.ToInt32(_dtTinh.Rows[0]["STT"].ToString());
                for (i = 0; i < _dtTinh.Rows.Count; i++)
                {
                    if (int.Parse(_dtTinh.Rows[i]["STT"].ToString()) > max)
                    {
                        max = Convert.ToInt32(_dtTinh.Rows[i]["STT"].ToString());
                    }
                }
                i = max + 1;
            }
            return i;
        }

        #endregion

        #region[ClearTextBox]

        protected void ClearTextbox()
        {
            txtGhiChu.Text = "";
            txtTenTinhE.Text = "";
            txtTenTinhC.Text = "";
            txtTenTinh.Text = "";
            txtMaTinh.Text = "";
            drMien.SelectedIndex = -1;
        }

        #endregion

        #region[OpenDialog]

        private void OpenDialog(string dialogId)
        {
            var sb = new StringBuilder();
            sb.Append("$('" + dialogId + "').dialog('open');");
            ScriptManager.RegisterStartupScript(Page, Page.GetType(),
                "scriptKey", sb.ToString(), true);
        }

        private void CloseDialog(string dialogId)
        {
            var sb = new StringBuilder();
            sb.Append("$('" + dialogId + "').dialog('close');");
            ScriptManager.RegisterStartupScript(Page, Page.GetType(),
                "scriptKey", sb.ToString(), true);
        }

        #endregion
    }
}